<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>2.计算属性_set配置</title>
    <!-- 引入Vue -->
    <script type="text/javascript" src="../../js/vue.js"></script>
  </head>
  <body>
    <!-- 准备好一个容器-->
    <div id="demo">
      姓：<input type="text" v-model="firstName"> <br>
      名：<input type="text" v-model="lastName"> <br>
      全名：<span>{{fullName}}</span> <br>
      <button @click="changeFullName">修改全名</button>
    </div>

    <script type="text/javascript">
      let vm = new Vue({
        el:'#demo',
        data:{
          firstName:'zhang',
          lastName:'san',
        },
        methods:{
          a(){
            console.log('a被调用了')
          },
          changeFullName(){
            this.fullName = 'li-si'
          }
        },
        computed:{
          fullName:{
            /* 
              1.getter何时调用？—— ①初次读取fullName属性时。②计算fullName所依赖的数据发生变化时
              2.getter中的this是谁？ —— vm
            */
            get(){
              console.log('get被调用了')
              return this.firstName.slice(0,1).toUpperCase() + this.firstName.slice(1) + '-' + this.lastName
            },
            /* 
              1.setter何时调用？—— 只有fullName被修改时
              2.setter中的this是谁？ —— vm
              3.收到的参数是什么？—— 修改的值
            */
            set(value){
              console.log('set被调用了（fullName被修改了）')
              let [xing,ming] = value.split('-')
              this.firstName = xing
              this.lastName = ming
            }
          }
        }
      })
    </script>
  </body>
</html>